package com.crealth.handler;

import org.apache.log4j.Logger;
import com.alibaba.fastjson.JSONObject;
import com.crealth.msg.NetMessageData;

public class ClientMsgHandler {
	//private static Logger logger = Logger.getLogger("running_log");
	private static Logger errorLog = Logger.getLogger("error_log");
	
	public static NetMessageData msgHandler(NetMessageData msg) {
		if (msg == null) {
			errorLog.error("msgHandler  msg is null!");
			return null;
		}
		
		int cmd = msg.getMsgCmd();
		//logger.info("receive cmd: " + cmd);
		if (cmd == NetMessageData.Net_REV_LOGOUT) {
			return UserHandler.logOut(msg);
		}
		else if (NetMessageData.Net_Check_Already_Call == cmd) {
			return CdrHandler.searchGroupCallExist(msg);
		}
		else if (NetMessageData.Net_Commit_Mobi_Attribute == cmd) {
			return UserHandler.commitMobileAttribute(msg);
		}
		else if (NetMessageData.Net_Stop_All == cmd) {
			return UserHandler.forceCloseAllClient(msg);
		}
		else if (NetMessageData.Net_HIDE_CONSUMER_INFO == cmd) {
			return UserHandler.hideAllClientConsumerInfo();
		}
		else if (NetMessageData.Net_RS_VOICECODECS == cmd) {
			return UserHandler.resetVoiceCodecs(msg);
		}
		else if (NetMessageData.Net_Obtain_All_Team == cmd) {
			return CompanyHandler.obtainAllTeam(msg);
		}
		else if (NetMessageData.Net_Add_Team == cmd) {
			return CompanyHandler.addTeam(msg);
		}
		else if (NetMessageData.Net_Add_Branch == cmd) {
			return CompanyHandler.addCompanyBranch(msg);
		}
		else if (cmd == NetMessageData.Net_Obtain_Client) {
			return ClienteleInfoHandle.obtainClienteleInfo(msg);
		}
		else if (NetMessageData.Net_Obtain_Company == cmd) {
			return CompanyHandler.obtainCompanyInfo(msg);
		}
		else if (NetMessageData.Net_Obtain_Leaders == cmd) {
			return UserHandler.obtainLeaders(msg);
		}
		else if (NetMessageData.Net_Obtain_Underling == cmd) {
			return UserHandler.obtainUnderlings(msg);
		}
		else if (NetMessageData.Net_Add_Client == cmd) {
			return ClienteleInfoHandle.addClienteleInfo(msg);
		}
		else if (NetMessageData.Net_Call_Phone == cmd) {
			return CdrHandler.callingPhone(msg);
		}
		else if (NetMessageData.Net_Begin_Cdr == cmd) {
			return CdrHandler.beginCall(msg);
		}
		else if (NetMessageData.Net_End_Cdr == cmd) {
			return CdrHandler.endCall(msg);
		}		
		else if (NetMessageData.Net_Add_Staff == cmd) {
			return UserHandler.addStaff(msg);
		}
		else if (NetMessageData.Net_Modify_Pwd == cmd) {
			return UserHandler.modifyPwd(msg);
		}
		else if (NetMessageData.Net_Commit_CliDetailInfo == cmd) {
			return ConsumerInfoHandler.devClinetCommitInfo(msg);
		}
		else if (NetMessageData.Net_Obtain_CliDetailInfos == cmd) {
			return ConsumerInfoHandler.obtainClientDetailInfos(msg);
		}
		else if (NetMessageData.Net_Modify_CliDetailInfos == cmd) {
			return ConsumerInfoHandler.modifyClinetInfo(msg);
		}
		else if (NetMessageData.Net_Sync_CliDetailInfo == cmd) {
			return ConsumerInfoHandler.syncClientDetailInfos(msg);
		}
		else if (NetMessageData.Net_Upload_Purpose_Clients == cmd) {
			return ConsumerInfoHandler.importPurposeClinetInfo(msg);
		}
		else if (NetMessageData.Net_Commit_LeaderGuide == cmd) {
			return ConsumerInfoHandler.commitLeaderGuide(msg);
		}
		else if (NetMessageData.Net_Save_Next_Followup == cmd) {
			return ConsumerInfoHandler.saveConsumerNextFollowup(msg);
		}
		else if (NetMessageData.Net_Del_Next_Followup == cmd) {
			return ConsumerInfoHandler.deleteConsumerNextFollowup(msg);
		}
		else if (NetMessageData.Net_Search_Client == cmd) {
			return ClienteleInfoHandle.searchClienteleInfo(msg);
		}
		else if (NetMessageData.Net_Import_GroupCall_Mobi == cmd) {
			return ClienteleInfoHandle.uploadGroupCallMobi(msg);
		}
		else if (NetMessageData.Net_Import_Clientele_Detail == cmd) {
			return ClienteleInfoHandle.uploadClienteleDetail(msg);
		}
		else if (NetMessageData.Net_Upload_Record == cmd) {
			NetMessageData resData = UserHandler.uploadRecordFile(msg);
			if (resData == null) {
				resData = new NetMessageData();
				JSONObject msgJson = msg.getRevDataMsgJson();
				String fileName = msgJson.getString("fileName");
				JSONObject resJson = new JSONObject();
				resJson.put("resCode", ErrorCode.ERROR_UPLOAD_FILE);
				resJson.put("fileName", fileName);
				resData.setMsgBody(resJson.toJSONString());
			}
			
			return resData;
		}
		else if (NetMessageData.Net_Upload_ContractFile == cmd) {
			return LoanContractHandler.uploadContractFile(msg);
		}
		else if (NetMessageData.Net_Search_Record_Cdr == cmd) {
			return CdrHandler.searchRecordCdr(msg);
		}
		else if (NetMessageData.Net_Check_Day_KPI == cmd) {
			return StaffKPIHandler.checkDayKPI(msg);
		}
		else if (NetMessageData.Net_Dispatch_Purpose == cmd) {
			return ConsumerInfoHandler.dispatchPurpose(msg);
		}
		else if (NetMessageData.Net_Copy_Purpose == cmd) {
			return ConsumerInfoHandler.copyPurpose(msg);
		}
		else if (NetMessageData.Net_Modify_Staff_Info == cmd) {
			return UserHandler.modifyStaffInfo(msg);
		}
		else if (NetMessageData.Net_Obtain_MeetTalk == cmd) {
			return ConsumerInfoHandler.obtainMeetTalkPurpose(msg);
		}
		else if (NetMessageData.Net_Add_LoanContract == cmd) {
			return LoanContractHandler.addLoanContract(msg);
		}
		else if (NetMessageData.Net_Obtain_LoanContract == cmd) {
			return LoanContractHandler.obtainLoanContract(msg);
		}
		else if (NetMessageData.Net_SendBack_LoanContract == cmd) {
			return LoanContractHandler.sendBackConsumer(msg);
		}
		else if (NetMessageData.Net_Del_LoanContract == cmd) {
			return LoanContractHandler.delContract(msg);
		}
		else if (NetMessageData.Net_Modify_LoanContract == cmd) {
			return LoanContractHandler.modifyLoanContract(msg);
		}
		else if (NetMessageData.Net_Signed_LoanContract == cmd) {
			return LoanContractHandler.signedContract(msg);
		}
		else if (NetMessageData.Net_All_LoanContract == cmd) {
			return LoanContractHandler.obtainAllContract(msg);
		}
		else if (NetMessageData.Net_All_ConsumerProduct == cmd) {
			return ConsumerProductHandler.obtainAllProduct(msg);
		}
		else if (NetMessageData.Net_Save_ConsumerProduct == cmd) {
			return ConsumerProductHandler.saveProductInfo(msg);
		}
		else if (NetMessageData.Net_Add_ConsumerProduct == cmd) {
			return ConsumerProductHandler.addNewProduct(msg);
		}
		else if (NetMessageData.Net_Accept_ConsumerProduct == cmd) {
			return ConsumerProductHandler.acceptProduct(msg);
		}
		else if (NetMessageData.Net_Modify_DiYa_Follow == cmd) {
			return ConsumerProductHandler.modifyDiYaFollow(msg);
		}
		else if (NetMessageData.Net_Obtain_DiYa_Follow == cmd) {
			return ConsumerProductHandler.obtainDiYaFollowDetail(msg);
		}
		else if (NetMessageData.Net_Save_WeekPlan == cmd) {
			return TeamHandler.saveWeekPlan(msg);
		}
		else if (NetMessageData.Net_Save_Back_Earnest == cmd) {
			return SendBackEarnestHandler.saveBackEarnestInfo(msg);
		}
		else if (NetMessageData.Net_Obtain_Back_Earnest == cmd) {
			return SendBackEarnestHandler.obtainBackEarnestInfo(msg);
		}
		else if (NetMessageData.Net_Confirm_Earnest == cmd) {
			return ConsumerProductHandler.financeConfirmEarnest(msg);
		}
		else if (NetMessageData.Net_Check_Back_Earnest == cmd) {
			return SendBackEarnestHandler.checkBackEarnestInfo(msg);
		}
		else if (NetMessageData.Net_Finance_Back_Earnest == cmd) {
			return SendBackEarnestHandler.financeBackEarnest(msg);
		}
		else if (NetMessageData.Net_Confirm_Back_Earnest == cmd) {
			return SendBackEarnestHandler.confirmBackEarnest(msg);
		}
		else if (NetMessageData.Net_Cancel_Back_Earnest == cmd) {
			return SendBackEarnestHandler.cancelBackEarnest(msg);
		}
		else if (NetMessageData.Net_Confirm_Brokerage == cmd) {
			return ConsumerProductHandler.financeConfirmBrokerage(msg);
		}
		else if (NetMessageData.Net_Team_Month_Plan == cmd) {
			return TeamHandler.startMonthPlan(msg);
		}
		else if (NetMessageData.Net_Team_Week_Plan == cmd) {
			return TeamHandler.startWeekPlan(msg);
		}
		else if (NetMessageData.Net_Obtain_Plan == cmd) {
			return TeamHandler.obtainSalesmanTeamPlan(msg);
		}
		else if (NetMessageData.Net_Obtain_Month_Plan == cmd) {
			return TeamHandler.obtainTeamMonthPlan(msg);
		}
		else if (NetMessageData.Net_Obtain_Week_Plan == cmd) {
			return TeamHandler.obtainTeamWeekPlan(msg);
		}
		else if (NetMessageData.Net_Obtain_BankChannel == cmd) {
			return BankChannelHandler.obtainAllBankChannel(msg);
		}
		else if (NetMessageData.Net_Save_BankChannel == cmd) {
			return BankChannelHandler.saveAllBankChannel(msg);
		}
		else if (NetMessageData.Net_Obtain_LoanAmountCalculated == cmd) {
			return LoanAmountCalculatedHandler.obtainAllAmountCalculated(msg);
		}
		else if (NetMessageData.Net_Save_LoanAmountCalculated == cmd) {
			return LoanAmountCalculatedHandler.saveAllAmountCalculated(msg);
		}
		else if (NetMessageData.Net_Save_BankSpecialLimit == cmd) {
			return BankChannelHandler.saveAllBankSpecialLimit(msg);
		}
		else if (NetMessageData.Net_Obtain_BankSpecialLimit == cmd) {
			return BankChannelHandler.obtainAllBankSpecialLimit(msg);
		} else if (NetMessageData.Net_Obtain_PRODUCT_KNOWLEDGE == cmd) {
			return ProductKnowledgeHandler.obtainAllKnowledge(msg);
		} else if (NetMessageData.Net_Save_Credit_KNOWLEDGE == cmd) {
			return ProductKnowledgeHandler.saveCreditKnowledge(msg);
		} else if (NetMessageData.Net_Save_Pledget_KNOWLEDGE == cmd) {
			return ProductKnowledgeHandler.savePledgetKnowledge(msg);
		} else if (NetMessageData.Net_Del_KNOWLEDGE == cmd) {
			return ProductKnowledgeHandler.deleteKnowledge(msg);
		} else if (NetMessageData.Net_Save_Work_Diary == cmd) {
			return TeamWorkDiaryHandler.saveWorkDiary(msg);
		} else if (NetMessageData.Net_Obtain_Work_Diary == cmd) {
			return TeamWorkDiaryHandler.obtainWorkDiary(msg);
		} else if (NetMessageData.Net_Del_Self_Client == cmd) {
			return ClienteleInfoHandle.deleteSelfClient(msg);
		} else if (NetMessageData.Net_Save_All_Team == cmd) {
			return CompanyHandler.saveAllTeam(msg);
		} else if (NetMessageData.Net_Del_Team == cmd) {
			return CompanyHandler.deleteTeam(msg);
		} else if (NetMessageData.Net_Save_All_Company == cmd) {
			return CompanyHandler.saveAllCompanyInfo(msg);
		} else if (NetMessageData.Net_Del_Branch == cmd) {
			return CompanyHandler.deleteCompany(msg);
		} else if (NetMessageData.Net_Obtain_Init_Sip == cmd) {
			return SystemSettingHandler.obtainInitSipAccount(msg);
		} else if (NetMessageData.Net_Modify_Init_Sip == cmd) {
			return SystemSettingHandler.modifyInitSipAccount(msg);
		} else if (NetMessageData.Net_Reset_User_Pwd == cmd) {
			return UserHandler.resetUserPwd(msg);
		} else if (NetMessageData.Net_Obtain_CityDistrict == cmd) {
			return CityDistrictHandler.obtainCityDistrict(msg);
		} else if (NetMessageData.Net_Modify_CityDistrict == cmd) {
			return CityDistrictHandler.saveCityDistrict(msg);
		} else if (NetMessageData.Net_Del_CityDistrict == cmd) {
			return CityDistrictHandler.delCityDistrict(msg);
		} else if (NetMessageData.Net_Obtain_LendingAgency == cmd) {
			return LendingAgencyHandler.obtainLendingAgency(msg);
		} else if (NetMessageData.Net_Modify_LendingAgency == cmd) {
			return LendingAgencyHandler.saveLendingAgency(msg);
		} else if (NetMessageData.Net_Del_LendingAgency == cmd) {
			return LendingAgencyHandler.delLendingAgency(msg);
		} else if (NetMessageData.Net_Import_Consumer == cmd) {
			return ConsumerInfoHandler.uploadConsumerInfo(msg);
		} else if (NetMessageData.Net_Obtain_PhoneNum == cmd) {
			return ClienteleInfoHandle.obtainCallPhoneNum(msg);
		} else if (NetMessageData.Net_Condition_Search_Clientele == cmd) {
			return ClienteleInfoHandle.conditionSearchClienteleInfo(msg);
		} else if (NetMessageData.Net_Confirm_Pwd == cmd) {
			return UserHandler.confirmPwd(msg);
		} else if (NetMessageData.Net_Agree_ChangePC == cmd) {
			return UserHandler.agreeChangePC(msg);
		} else if (NetMessageData.Net_Delete_Purpose == cmd) {
			return ConsumerInfoHandler.deleteConsumer(msg);
		} else if (NetMessageData.Net_Save_CreditReport == cmd) {
			return CreditReportHandler.saveCreditReport(msg);
		} else if (NetMessageData.Net_Upload_CreditReportPic == cmd) {
			return CreditReportHandler.uploadCreditReportPicture(msg);
		} else if (NetMessageData.Net_Upload_CreditReportFile == cmd) {
			return CreditReportHandler.uploadCreditReport(msg);
		} else if (NetMessageData.Net_Search_CreditReport == cmd) {
			return CreditReportHandler.searchCreditReport(msg);
		} else if (NetMessageData.Net_Upload_StaffInfo == cmd) {
			return UserHandler.uploadEntryFile(msg);
		} else if (NetMessageData.Net_Send_XiBao == cmd) {
			return UserHandler.sendXiBaoBroadcast(msg);
		} else if (NetMessageData.Net_Delete_Product == cmd) {
			return ConsumerProductHandler.deleteProduct(msg);
		} else if (NetMessageData.Net_Add_EventRemind == cmd) {
			return EventRemindHandler.addEventRemind(msg);
		} else if (NetMessageData.Net_Obtain_ER == cmd) {
			//return EventRemindHandler.addEventRemind(msg);
		} else if (NetMessageData.Net_Del_ALL_DETAIL_Client == cmd) {
			return ClienteleInfoHandle.deleteAllClient(msg);
		}
		
		return null;
	}
	
}



